package com.pktechan.api.service;

import com.alibaba.fastjson.JSONObject;
import com.pktechan.api.base.BaseService;
import com.pktechan.api.entity.CustBase;
import com.pktechan.api.vo.ReferencesVO;
import com.pktechan.api.vo.SalesCenterVO;

import java.util.List;

public interface CustBaseService extends BaseService<CustBase> {
    /**
     * 保存或更新
     *
     * @param decryptDataJO
     * @param mpId
     */
    void saveOrUpdate4MiniProgram(JSONObject decryptDataJO, String mpId);

    /**
     * 游客注册
     *
     * @param custBase
     * @param code
     */
    CustBase registration(CustBase custBase, String code);

    /**
     * 获取销售中心详情
     *
     * @param custId
     * @return
     */
    SalesCenterVO getSalesCenterDetail(Integer custId);

    /**
     * 获取当前的登录客户
     *
     * @param userLoginState
     * @return
     */
    CustBase getCustBaseByUserLoginState(String userLoginState);

    /**
     * 获取直接推荐人信息
     *
     * @param custId
     * @return
     */
    List<ReferencesVO> getDirectReferencesDetail(Integer custId);

    /**
     * 根据微信openId查询客户基本信息
     *
     * @param openId
     * @return
     */
    CustBase getByOpenId(String openId);

    /**
     * 实名认证
     *
     * @param custBase
     * @param imageCode
     */
    void realNameAuth(CustBase custBase, String imageCode);

}
